package org.qqcui.designpattern.patterns.singleton.enumtype;

/**
 * 通过枚举的方式实现单例模式，既能够保证线程安全，同时能够满足懒加载和效率的要求，在生产环境中推荐使用
 * 而且还可以防止反序列化来进行实例的创建
 *
 * @author cuiqingqiang
 * @version 1.0
 * @date 2020-10-16 22:14
 **/
public class SingletonTest08 {

	public static void main(String[] args) {
		System.out.println("静态内部类的方式");
		Singleton8 instance1 = Singleton8.INSTANCE;
		Singleton8 instance2 = Singleton8.INSTANCE;
		System.out.println(instance1 == instance2);

		System.out.println(instance1.hashCode());
		System.out.println(instance2.hashCode());

		instance1.sayOk();
	}
}

enum Singleton8 {
	INSTANCE;

	public void sayOk() {
		System.out.println("OK!");
	}
}